M09 IPv4 NAT osoitteenmuunnos
Takaisin opintojakson aikatauluun
Opetusvideot
Osoiteluokat
Kuten aiemmin mainittu kappaleessa IPv4 osoitteet, aliverkot and ARP, IPv4 osoiteavaruus on jaettu yksityisiin ja julkisiin osoitteisiin. On helpompaa muistaa yksityiset osoitteet ja kohdella loppuja julkisina.
Yksityiset osoiteavaruudet IPv4:ssä ovat:
- 10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
- 172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
- 192.168.0.0 - 192.168.255.255 (192.168.0.0/16)
Hyvin usein kuluttajat tunnistavat osoiteavaruuden 192.168.0.0/24 (tai vastaavan 192.168.x.0/24) koska se on yleensä oletuksena kotireitittimissä
Näiden yksityisten osoitteiden hyvänä puolena on että niitä voidaan uudelleen käyttää uudestaan ja uudestaan, kunhan liikenne niistä osoitteista muunnetaan julkiseen IPv4 osoitteeseen (eng. Network Address Translated - NATted)!
Alapuolinen kuvio esittää osoiteavaruuden uudelleen käytettävyyttä.
Kaikilla eri kotireitittimillä on aliverkko 192.168.0.0/24
takanansa, mutta kaikkien niiden osoitteet muunnetaan eri julkiseen IPv4 osoitteeseen. Julkisten osoitteiden tarjoajana on esimerkissä Elisa). Huomaa että kuviossa on 254 eri käytettävää yksityistä osoitetta (192.168.0.1 - 192.168.0.254
), jotka muunnetaan yhteen julkiseen IPv4 osoitteeseen.
Sääntö silti kattaa kaikki IPv4 osoitteet aliverkossa 192.168.0.0/24
. Tätä kutsutaan Many-to-1 NAT
.
Seuraavaksi menemme eri NAT tyyppien lävitse ja kuinka ne konfiguroidaan Vyos:ssa.
Konfiguroidaan osoitteenmuunnos eli NAT
Many-to-1 NAT
Kuten mainittu aiemmin, tämä on yksinkertaisin ja kaikkein useiten käytetty toteutus NAT:sta.
Se tarkoittaa että monta kuluttajan laitetta on piilotettu yhden osoitteen taakse. Tämä säästää julkista osoiteavaruutta.
Konfiguroidaan Many-to-1 NAT
Konfigurointi on hyvin suoraselitteinen.
Meidän täytyy tietoo rajapinta, jossa julkinen IPv4 osoite on konfiguroituneena. Tämä määritetään ulospäin meneväksi rajapinnaksi (outbound-interface
) ja IPv4 osoitteet muunnetaan (masquarade
) siihen rajapintaan.
set nat source rule 10 outbound-interface eth0
set nat source rule 10 translation address masquerade
Tämän jälkeen meidän pitää julistaa (yksityiset) IPv4 osoitteet, jotka muunnetaan kyseiseen julkiseen osoitteeseen.
set nat source rule 10 source address 192.168.0.0/24
Olkoot ulosmenevän rajapinnan IPv4 osoite yläpuolisen kuvion mukainen 88.112.0.57
. Kaikki liikenne aliverkosta 192.168.0.0/24
(254 osoitetta) muutetaan kyseiseen julkiseen osoitteeseen.
Varmistetaan Many-to-1 NAT toiminta show -komennoilla
show nat source translations
vyos@vyos:~$ show nat source translations
Pre-NAT Post-NAT Prot Timeout
192.168.0.5 88.112.0.57 icmp 29
vyos@vyos:~$
1-to-1 NAT
Joskus on tarpeellista muuntaa julkinen osoite takaisin yksityiseksi osoitteeksi. Paljastaakseen esimerkiksi web palvelin NAT:n toiselta puolelta lähiverkosta. Alapuolisessa esimerkissä yhteydenotot julkisesta Internetistä osoitteeseen 88.113.241.57
muunnetaan yksityiseen osoitteeseen 192.168.0.5
.
Nyt kaikki eri TCP ja UDP portit, jotka liikennöivät osoitteeseen 88.113.241.57
muunnetaan kulkevan sisäverkon osoitteeseen 192.168.0.5
. Lisäpalomuurisääntöjä saatetaan tarvita muunnoksen oheen rajoittamaan tcp/udp porttiavaruutta
. TCP:stä ja UDP:sta lisää kappaleessa TCP, UDP ja verkon konfiguraation hallinta (SSH, HTTP)
Konfiguroidaan 1-to-1 NAT
1-to-1 NAT:n konfiguroiti pitää ajatella kaksisuuntaisena (kohdat 1. ja 2.) seuraavan esimerkin mukaisesti:
- Liikenne joka kohdistuu yksityiseen IPv4 osoitteeseen (kutsutaan joskus Destination NAT -nimellä)
- Liikenne joka lähtee yksityisestä IPv4 osoitteesta (kutsutaan joskus Source NAT -nimellä).
- Reitittimellä pitää olla julkinen IPv4 osoite jossain rajapinnassaan käytettävissä
Kohta 1.
set nat destination rule 10 destination address 88.113.241.57
set nat destination rule 10 inbound-interface eth0
set nat destination rule 10 translation address 192.168.0.5
Kohta 2.
set nat source rule 10 outbound-interface eth0
set nat source rule 10 source address 192.168.0.5
set nat source rule 10 translation address 88.113.241.57
Kohta 3.
set interface ethernet eth0 address 88.113.241.57/15
Tarkistetaan 1-to-1 NAT toiminta show -komennoilla
Huomattavaa on että kohdemuunnos (destination NAT) ei muuta alkuperäisen lähden IP-osoitetta (25.0.0.2) miksikään.
Pelkästään vastauksen lähde on muuttunut.
show nat source translations
and show nat destination translations
vyos@vyos:~$ show nat destination translations
Pre-NAT Post-NAT Prot Timeout
25.0.0.2 25.0.0.2 icmp 29
vyos@vyos:~$ show nat source translations
Pre-NAT Post-NAT Prot Timeout
88.113.241.57 192.168.0.5 icmp 29
vyos@vyos:~$
Portin edelleenlähetys (eng. Port Forwarding)
Yksi ratkaisu saatavuus ongelmaan
yläpuolella on yksinkertainen (tcp/udp) portin edelleenlähetys. Tämä on yleensä oma vaihtoehtonsa kuluttajille suunnatuissa laitteistoissa. Tarkoituksena on edelleen lähettää tosiaan vain 1 portti (esim tcp/80 eli HTTP) NAT:n lävitse yksityiseen IP-osoitteeseen. Tämä on yleensä tarpeeksi.
Esimerkissä alapuolella yhteydet julkisesta Internetistä osoitteeseen 88.113.241.57:80
(<ip-osoite>:<portti>
) muunnetaan yksityiseksi IPv4 osoitteeksi 192.168.0.5:80
.
Konfiguroidaan portin edelleenlähetys
Tämä portin edelleenlähetys olettaa että lähiverkossa 192.168.0.0/24
on jo Many-to-1 NAT toiminnassa. Täten pelkästään portin edelleenlähetys osio tarvitsee konfiguroida.
Alapuolisessa esimerkissä, HTTP yhteydet (tcp/80) reitittimen eth0 -rajapinnan IPv4 osoitteeseen muunnetaan yksityiseen IPv4 osoitteeseen 192.168.0.5
:
set nat destination rule 10 destination port 80
set nat destination rule 10 inbound-interface eth0
set nat destination rule 10 protocol tcp
set nat destination rule 10 translation address 192.168.0.5
Tarkistetaan Portin edelleenlähetys show -komennoilla
show nat destination translations
vyos@vyos:~$ show nat destination translations
Pre-NAT Post-NAT Prot Timeout
88.113.241.57 192.168.0.5 tcp 104
vyos@vyos:~$
Operaattori-tason NAT (eng. Carrier-Grade NAT)
Internet palveluntarjoajat (ISP:t) taistelevat vähenevän IPv4 osoiteavaruuden kanssa. Tämä on pakottanut operaattorit toteuttamaan operaattori-tason NAT toiminnetta esim. puhelinverkoissa. Tämä groteski toiminnallisuus tarkoittaa että yksityinen IPv4 osoite muunnetaan yksityiseksi IPv4 osoitteeksi, joka vielä kertaalleen muunnetaan julkiseksi IPv4 osoitteeksi.
Eli näitä ketjutettuja
NAT muunnoksia tapahtuu yhtäaikaisesti.
Vinkki! Voit palata E01 harjoitteen traceroute
komentoa tarkastelemaan, jos teit sen kotiverkosta/mobiiliverkosta!
Joidenkin opiskelijoiden kohdalla olen havainnut suomalaisten operaattorien tekevän tätä operaattori-tason NATtausta.
Tämä ei ole harvinaisuus myöskään kuluttajaverkoissa, koska kotona saattaa parikin reititintä asentua peräkkäin ketjuksi oletusasetuksin. Syynä kenties että operaattorin (ADSL-/kaapeli-/kuitu)modeemin perään halutaan oma WLAN -modeemi, jotka oletusasetuksilla kaikki ovat reitetyssä tilassa. Ongelmia tämä tuottaa vasta kun jotain palvelua halutaan julkaista kaikkien näitten NAT käännösten takaa ulkomaailmaan - Internettiin.
Jatka harjoituksiin!
Takaisin opintojakson aikatauluun?
Takaisin opintojakson aikatauluun
Lisenssi
Tämän opintojakson materiaalin on kirjoittanut Karo Saharinen ja se on lisensoitu Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen -lisenssillä.